#!/bin/bash
# tarkoituksena on listata kotikansiosta tiedosto-niminen tiedosto siten että siinä olevat ipv4-osoitteet ovat tulostettu punaisella muun tekstin ollessa mustaa. 
export GREP_COLOR="01;31" # red; 32=green; 33=yellow; 34=blue; 35=purple

# ensiksi funktio joka tulostaa sille syötetyn tekstin mikäli se on kelvollinen ipv4-osoite
function tulosta_kelvollinen_ipv4 () { [[ $(echo $1 | grep [a-zA-Z]) ]] || echo $1 | awk -F: 'NF==4 && $1<=255 && $1>=0 && $2<=255 && $2>=0 && $3<=255 && $3>=0 && $4<=255 && $4>=0' ;} 

# etsitään tiedostosta ne numerosarjat jotka saattaisivat olla ipv4 osoitteita ja talletetaan niistä muodostuva lista kovalevylle:
grep -Po '[[:alpha:]]*[0-9]*[:0-9]*' ~/tiedosto > /tmp/delme1

# tarkistetaan listan jäsenet yksitellen ja tehdään kovalevylle uusi lista hyväksytyistä:
echo '' > /tmp/delme2; while IFS=$'\n' read -r rivi; do tulosta_kelvollinen_ipv4 $rivi >> /tmp/delme2; done < /tmp/delme1

# listataan tiedosto merkiten siihen ipv4-osoitteiksi hyväksytyt:
grep --color -E $(cat /tmp/delme2 | tr '\n' \|) ~/tiedosto
#read -p 'paina enter jatkaakseesi'


